#ifndef BSPLINE_H_
#define BSPLINE_H_

#include <vector>
#include <iostream>
#include "BSplineCubSurf.h"

#define TAMMATBSPLINESURF 7

using std::vector;

class BSpline{
	public:
		BSpline(GLfloat ctrlpoints[TAMMATBSPLINESURF][TAMMATBSPLINESURF][3]);
		~BSpline();

		void drawSurface(glm::mat4 mat);
		void drawControlPoints();
		void drawNormals(glm::mat4);

	private:
		vector<BSplineCubSurf*> patches;

		void loadPatches(GLfloat points[TAMMATBSPLINESURF][TAMMATBSPLINESURF][3]);
		void show(GLfloat aux[TAMPATCHBSPLINE][TAMPATCHBSPLINE][3]);
};

#endif
